Previous: Edebug and Macros, Up: Edebug [Contents][Index]
These options affect the behavior of Edebug:
Functions to call before Edebug is used. Each time it is
set to a new value, Edebug will call those functions once and
then reset edebug-setup-hook to
nil. You could use this to load up Edebug
specifications associated with a package you are using, but
only when you also use Edebug. See Instrumenting.
If this is non-nil, normal evaluation of
defining forms such as defun and
defmacro instruments them for Edebug. This
applies to eval-defun, eval-region,
eval-buffer, and
eval-current-buffer.
Use the command M-x edebug-all-defs to toggle the value of this option. See Instrumenting.
If this is non-nil, the commands
eval-defun, eval-region,
eval-buffer, and
eval-current-buffer instrument all forms, even
those that don’t define anything. This doesn’t
apply to loading or evaluations in the minibuffer.
Use the command M-x edebug-all-forms to toggle the value of this option. See Instrumenting.
If this is non-nil, Edebug saves and restores
the window configuration. That takes some time, so if your
program does not care what happens to the window
configurations, it is better to set this variable to
nil.
If the value is a list, only the listed windows are saved and restored.
You can use the W command in Edebug to change this variable interactively. See Edebug Display Update.
If this is non-nil, Edebug saves and restores
point in all displayed buffers.
Saving and restoring point in other buffers is necessary if you are debugging code that changes the point of a buffer that is displayed in a non-selected window. If Edebug or the user then selects the window, point in that buffer will move to the window’s value of point.
Saving and restoring point in all buffers is expensive, since it requires selecting each window twice, so enable this only if you need it. See Edebug Display Update.
If this variable is non-nil, it specifies the
initial execution mode for Edebug when it is first activated.
Possible values are step, next,
go, Go-nonstop, trace,
Trace-fast, continue, and
Continue-fast.
The default value is step. This variable can
be set interactively with C-x C-a C-m
(edebug-set-initial-mode). See Edebug
Execution Modes.
If this is non-nil, trace each function entry
and exit. Tracing output is displayed in a buffer named
*edebug-trace*, one function entry or exit per
line, indented by the recursion level.
Also see edebug-tracing, in Trace Buffer.
If non-nil, Edebug tests coverage of all
expressions debugged. See Coverage
Testing.
If non-nil, continue defining or executing
any keyboard macro that is executing outside of Edebug. Use
this with caution since it is not debugged. See Edebug
Execution Modes.
If non-nil, Edebug tries to remove any of its
own instrumentation when showing the results of expressions.
This is relevant when debugging macros where the results of
expressions are themselves instrumented expressions. As a
very artificial example, suppose that the example function
fac has been instrumented, and consider a macro
of the form:
(defmacro test () "Edebug example."
(if (symbol-function 'fac)
…))
If you instrument the test macro and step
through it, then by default the result of the
symbol-function call has numerous
edebug-after and edebug-before
forms, which can make it difficult to see the actual result.
If edebug-unwrap-results is
non-nil, Edebug tries to remove these forms from
the result.
Edebug binds debug-on-error to this value, if
debug-on-error was previously nil.
See Trapping
Errors.
Edebug binds debug-on-quit to this value, if
debug-on-quit was previously nil.
See Trapping
Errors.
If you change the values of edebug-on-error or
edebug-on-quit while Edebug is active, their values
won’t be used until the next time Edebug is
invoked via a new command.
If non-nil, an expression to test for at
every stop point. If the result is non-nil, then
break. Errors are ignored. See Global
Break Condition.
Previous: Edebug and Macros, Up: Edebug [Contents][Index]